{
  "type": "object",
  "required": [
    "id",
    "created_at",
    "expires_at",
    "access_level",
    "requested_at",
    "source",
    "valid_roles",
    "type",
    "can_update",
    "can_remove",
    "is_direct_member"
  ],
  "properties": {
    "id": {
      "type": "integer"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "requested_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "can_update": {
      "type": "boolean"
    },
    "can_remove": {
      "type": "boolean"
    },
    "is_direct_member": {
      "type": "boolean"
    },
    "access_level": {
      "type": "object",
      "required": [
        "integer_value",
        "string_value"
      ],
      "properties": {
        "integer_value": {
          "type": "integer"
        },
        "string_value": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "source": {
      "type": "object",
      "required": [
        "id",
        "full_name",
        "web_url"
      ],
      "properties": {
        "id": {
          "type": "integer"
        },
        "full_name": {
          "type": "string"
        },
        "web_url": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "valid_roles": {
      "type": "object"
    },
    "type": {
      "type": "string"
    },
    "created_by": {
      "type": "object",
      "required": [
        "name",
        "web_url"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "web_url": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "user": {
      "allOf": [
        {
          "$ref": "member_user_default.json"
        }
      ]
    },
    "state": {
      "type": "integer"
    },
    "invite": {
      "type": "object",
      "required": [
        "email",
        "avatar_url",
        "can_resend",
        "user_state"
      ],
      "properties": {
        "email": {
          "type": "string"
        },
        "avatar_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "can_resend": {
          "type": "boolean"
        },
        "user_state": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  }
}